package com.yanzhenjie.andserver.sample.util;

import java.util.UUID;

/**
 * 作者: Tao
 * 日期: 2023/2/20
 * 时间: 16:58
 * 描述: 随机数生成类
 */
public class RandomUtils {

    /**
     * 获取随机整数
     * @param baseInt 底数
     * @param floatInt 浮动数
     */
    public static int getInt(int baseInt,int floatInt) {
        return (int) (Math.random() * floatInt + baseInt);
    }

    /**
     * 随机数(字母+数字)
     *
     * @param length 位数
     */
    public static String getRandom(int length) {
        StringBuilder randomCode = new StringBuilder();
        // 用字符数组的方式随机
        String model = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        char[] m = model.toCharArray();
        for (int j = 0; j < length; j++) {
            char c = m[(int) (Math.random() * 36)];
            // 保证六位随机数之间没有重复的
            if (randomCode.toString().contains(String.valueOf(c))) {
                j--;
                continue;
            }
            randomCode.append(c);
        }
        return randomCode.toString();
    }


    /**
     * 32位默认长度的uuid
     * (获取32位uuid)
     */
    public static String getUUID() {
        return UUID.randomUUID().toString().replaceAll("-", "");
    }


    /**
     * (获取指定长度uuid)
     */
    public static String getUUID(int len) {
        if (0 >= len) {
            return null;
        }
        String uuid = getUUID();
        StringBuffer str = new StringBuffer();
        for (int i = 0; i < len; i++) {
            str.append(uuid.charAt(i));
        }
        return str.toString();
    }
}
